Jak priradit event pri vytvareni komponent za behu programu?

Otázka od: JiriKrakora@skh.cz

30. 9. 2002 11:31

Zdravim.

Kliknutim na Image vytvarim TEdit. Nemuzu mu dat jmeno, protoze ho
vytvarim vicekrat. Potrebuji mu dat event OnKeyPress, ktery by vyvolal
proceduru MakeLabel. Ta by mela v miste TEditu, z ktereho byla volana,
vytvorit TLabel s textem, prevzatym z TEditu a pak by mela ten TEdit
smazat. Problem je, ze presne nevim, jak to vytvorit a co te procedure
predat a jak.



procedure MakeLabel(... Jak na to? ...)
begin
  case Key of
Chr(13) : ...NECO...;
end;

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  with TEdit.Create(self) do
  begin
    Parent := self;
    OnKeyPress := MakeLabel(... Tady nevim co mam vsechno predat. Asi ten
TEdit, x,,y souradnice a Key. Ale nevim jak to mam predat...)
  end;
end;



Muze mi nekdo poradit? Dekuji.
Jiri Krakora

Odpovedá: tomsir1.edu@mail.cez.cz

30. 9. 2002 12:06


ja bych tam dal Sender : TObject ...

procedure MakeLabel(Sender:TObject)
begin
  case Key of
Chr(13) : ...NECO...;
end;


a potom v TEdit.Create ... se pak prirazuje takto :

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  with TEdit.Create(self) do
  begin
    Parent := self;
    OnKeyPress := MakeLabel;
  end;
end;





JiriKrakora@skh.cz@clexpert.cz on 30.09.2002 12:16:13

Odpovězte prosím - delphi-l@clexpert.cz

Odesláno kým: delphi-l-owner@clexpert.cz


Komu: delphi-l@clexpert.cz
Kopie:
Předmět: Jak priradit event pri vytvareni komponent za behu
       programu?



Zdravim.

Kliknutim na Image vytvarim TEdit. Nemuzu mu dat jmeno, protoze ho vytvarim
vicekrat. Potrebuji mu dat event OnKeyPress, ktery by vyvolal proceduru
MakeLabel. Ta by mela v miste TEditu, z ktereho byla volana, vytvorit
TLabel s textem, prevzatym z TEditu a pak by mela ten TEdit smazat. Problem
je, ze presne nevim, jak to vytvorit a co te procedure predat a jak.



procedure MakeLabel(... Jak na to? ...)
begin
  case Key of
Chr(13) : ...NECO...;
end;

procedure TMainForm.ImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
  with TEdit.Create(self) do
  begin
    Parent := self;
    OnKeyPress := MakeLabel(... Tady nevim co mam vsechno predat. Asi ten
TEdit, x,,y souradnice a Key. Ale nevim jak to mam predat...)
  end;
end;



Muze mi nekdo poradit? Dekuji.
Jiri Krakora


Odpovedá: Jan Sebelík

1. 10. 2002 13:36

> Odesílatel: JiriKrakora@skh.cz
Kliknutim na Image vytvarim TEdit. Nemuzu mu dat jmeno, protoze ho
vytvarim vicekrat. Potrebuji mu dat event OnKeyPress, ktery by vyvolal
proceduru MakeLabel.



  with TEdit.Create(self) do
  begin
    Parent := self;
    OnKeyPress := MakeLabel; // (... Tady nevim co mam vsechno predat.

Tady se nepridava nic - je to jenom jmeno procedury, ktera se dosadi do
property OnKeyPress.

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================